Comme il l'a été dit précédemment, un client possède une partie serveur pour recevoir des requ\^etes d'autres pairs présents sur le réseaux et voulant partager des informations ou obtenir des pièces d'un fichier.\\

Un client peut recevoir trois requ\^etes différentes :
\begin{itemize}
	\item \textbf{have} \$Key \%BufferMap\%
	\item \textbf{interested} \$Key
	\item \textbf{getpieces} \$Key [\$pieceIndex1 ...]\\
\end{itemize}

 Le client analyse la demande et selon son type répond de manière adéquate. Dans le cas d'une requ\^ete \textbf{have}, il répondra par le buffermap du fichier déterminé par la clé. S'il n'a pas ce fichier, la connexion est fermée. Il en va de m\^eme lors d'une demande \textbf{interested}. S'il s'agit d'une requ\^ete \textbf{getpieces}, le client doit alors extraire du fichier la/les partie(s) correspondante(s) et les envoyer au pair, puis fermera la connexion.